﻿
namespace BLPicker.CodeContracts
{
    using System.Diagnostics.Contracts;

    [ContractClassFor(typeof(IBusinessLayerProxyFactory))]
    /// <summary>
    /// Code contract class for IBusinessLayerFactory interface.
    /// </summary>
    public abstract class BusinessLayerProxyFactoryContract : IBusinessLayerProxyFactory
    {
        /// <summary>
        /// Code contracts for IBusinessLayerProxyFactory.GetProxy() method
        /// which checks that parameter "businessLayerFactory" is not null.
        /// </summary>
        TBusinessLayer IBusinessLayerProxyFactory.GetProxy<TBusinessLayer>(IBusinessLayerFactory<TBusinessLayer> businessLayerFactory)
        {
            Contract.Requires(businessLayerFactory != null);

            return default(TBusinessLayer);
        }
    }
}
